<?php

class Importacion extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->datosusuario = $this->authentication->getDataLogged();
    }

    /**
     * Listado de citas. Por ahora las q quiera listar, ya filtraremos...
     *
     * @return void
     * 
     */
    function index() {      
        if (isset($_POST['submit'])) {
            if (file_exists(PATH_IMPORTACION . 'importar.txt')) {
                unlink(PATH_IMPORTACION . 'importar.txt');
            }

            $config['upload_path'] = PATH_IMPORTACION;
            $config['allowed_types'] = 'txt';
            $config['file_name'] = 'importar.txt';
            $config['max_size'] = '100000';

            $this->load->library('upload', $config);

            if (!$this->upload->do_upload('file')) {
                $error = array('error' => $this->upload->display_errors());
                set_message(array('3' => $error['error']));
                redirect('importacion/');
            } else {
                $data = array(
                    'titulo' => 'Procesando archivo, por favor espere...',
                    'datosusuario' => $this->datosusuario,
                    'url' => 'importacion/importar_' . $this->input->post('tipo') . '/',
                    'seleccionar' => 'parametricas',
                );

                $this->load->view('templates/header', $data);
                $this->load->view('templates/topbar');
                $this->load->view('parametricas/leftbar');
                $this->load->view('importacion/progreso');
                $this->load->view('templates/footer');
            }
        } else {
            $tipos = Array(
                'profesionales' => 'profesionales',
                'deudas' => 'deudas',
            );

            $this->load->model('m_deuda', 'deuda');

            $ultimoRegistro = $this->deuda->ultimoRegistro();

            $data = array(
                'titulo' => 'Importar Archivo',
                'datosusuario' => $this->datosusuario,
                'tipos' => $tipos,
                'ultimoRegistro' => $ultimoRegistro,
                'seleccionar' => 'parametricas',
            );
            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('parametricas/leftbar');
            $this->load->view('importacion/index');
            $this->load->view('templates/footer');
        }
    }

    function importar_profesionales($linea = 0) {
        $this->load->model('m_medico', 'medico');

        $archivo = file(PATH_IMPORTACION . "/importar.txt");
        $tope_archivo = count($archivo);

        $tope = $linea + 500;

        if ($linea == $tope_archivo) {
            $data = array(
                'linea' => 'fin',
                'porcentaje' => '100',
            );
        } else {
            if ($linea == 0) {
                $datos = explode('|', $archivo[0]);
                if ($datos[1] == 'id') {
                    unset($archivo[0]);
                    $linea++;
                }
            }

            while ($linea < $tope AND $linea < $tope_archivo) {
                $datos = explode('|', $archivo[$linea]);
                $this->medico->matricula = trim($datos[1]);
                $this->medico->nombre = addslashes(trim($datos[2]));
                $this->medico->tipoDoc = trim($datos[3]);
                $this->medico->numeroDoc = trim($datos[4]);
                $this->medico->email = addslashes(trim($datos[5]));
                $this->medico->direccion = addslashes(trim($datos[6]));
                $this->medico->localidad = addslashes(trim($datos[7]));
                $this->medico->codPostal = addslashes(trim($datos[8]));
                $this->medico->telefono = addslashes(trim($datos[9]));
                $this->medico->distrito = 9;
                $this->medico->insertUpdate();
                $linea++;
            }

            $porcentaje = round($linea * 100 / $tope_archivo);

            $data = array(
                'linea' => $linea,
                'porcentaje' => $porcentaje,
            );
        }
        echo json_encode($data);
    }

    function importar_deudas($linea = 0) {
        $this->load->model('m_deuda', 'deuda');

        $archivo = file(PATH_IMPORTACION . "/importar.txt");
        $tope_archivo = count($archivo);

        $tope = $linea + 500;

        if ($linea == $tope_archivo) {
            $data = array(
                'linea' => 'fin',
                'porcentaje' => '100',
            );
        } else {
            if ($linea == 0) {
                $datos = explode('|', $archivo[0]);
                if ($datos[1] == 'id') {
                    unset($archivo[0]);
                    $linea++;
                }
            }

            while ($linea < $tope AND $linea < $tope_archivo) {
                $datos = explode('|', $archivo[$linea]);
                print_pre($datos);
                $this->deuda->id = null;
                $this->deuda->idOrigen = $datos[1];
                $this->deuda->matricula = $datos[2];
                $this->deuda->tipoComprobante = $datos[3];
                $this->deuda->signo = $datos[4];
                $this->deuda->nroComprobante = $datos[5];

                $fecha = explode('/', $datos[6]);
                if ($fecha[2] < 80) {
                    $fecha[2] = '20' . $fecha[2];
                } else {
                    $fecha[2] = '19' . $fecha[2];
                }
                $datos[6] = $fecha[2] . '-' . $fecha[1] . '-' . $fecha[0];
                $this->deuda->fecha = $datos[6];

                $datos[7] = str_replace('-', '', $datos[7]);
                $datos[7] = str_replace('E-02', '', $datos[7]);
                if ($this->deuda->signo == '-') {
                    $datos[7] = $datos[7] * -1;
                }
                $this->deuda->importe = number_format((double) $datos[7], 2);
                //$this->deuda->save();
                print_pre($this->deuda);
                $linea++;
            }

            $porcentaje = round($linea * 100 / $tope_archivo);

            $data = array(
                'linea' => $linea,
                'porcentaje' => $porcentaje,
            );
        }
        echo json_encode($data);
    }

}

